package com.learn
//1. 数组, 元组
//2. 列表, 集, 映射
//3. 迭代器
//4. 函数式编程
//5. 学生成绩单案例
object lesson10 {
  def main(args: Array[String]): Unit = {
    //1. 定义列表, 记录学生的成绩, 格式为: 姓名, 语文成绩, 数学成绩, 英语成绩
    val stuList = List(("张三",37,90,100), ("李四",90,73,81), ("王五",60,90,76), ("赵 六",59,21,72), ("田七",100,100,100))
    // 2. 获取所有语文成绩在60分(含)及以上的同学信息.
    val chineseList = stuList.filter(_._2 >= 60)
    // 3. 获取所有学生的总成绩.
    val countList = stuList.map(x => x._1 -> (x._2 + x._3 + x._4))
    // 4. 按照总成绩降序排列.
    val sortList1 = countList.sortBy(_._2).reverse //也可以通过sortWith实现.
    val sortList2 = countList.sortWith((x, y) => x._2 > y._2)
    // 5. 打印结果.
    println(s"语文成绩及格的学生信息: ${chineseList}")
    println(s"所有学生及其总成绩: ${countList}")
    println(s"总成绩降序排列: ${sortList1}")
    println(s"总成绩降序排列: ${sortList2}")
  }
}
